package com.hopu.controller;

import com.github.pagehelper.PageInfo;
import com.hopu.entity.MyArea;
import com.hopu.service.MyArea.MyAreaService;
import com.hopu.util.HouseResult;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * @Package: com.hopu.controller
 * @ClassName: MyAreaController
 * @Author: xiaoBao
 * @CreateTime: 2020/10/22 1:05
 * @Description: 【片区管理功能表现层】：1、实现首页、片区管理、内容重定向跳转；2、实现片区管理显示所有片区；
 */
@Controller("myAreaController")     /**定义表现层;*/
public class MyAreaController {
    @Resource(name = "myAreaServiceImple")   /**引入Service业务层*/
    private MyAreaService myAreaService;


    /**
     * execute 【查询所有的片区内容】
     * 【功能】：1、将所有片区信息显示到片区信息列表中；2、在“房屋资料”页面点击“添加按钮”时实现“所在片区”下拉框的数据回显。
     * @param current   接受前台Ajax发送的“当前页面”数；
     * @return 将分页后的片区内容返回给前台Ajax进行显示。
     */
    @RequestMapping("area/findAllAreaPageData.do")
    @ResponseBody
    public HouseResult<PageInfo<MyArea>> execute(Integer current){
        //调用服务层业务：查询所有的片区信息内容
        return myAreaService.findAllAreaPageInfo(current);
    }


    /**
     * checkAreaAlread 【根据片区名检查片区是否存在】
     * @param myArea 参数绑定接收前端Ajax发送的aname参数；
     * @return 将查询结果返回给前台Ajax。
     */
    @RequestMapping("area/getArea.do")
    @ResponseBody
    public HouseResult<MyArea> checkAreaAlread(MyArea myArea){
        return myAreaService.checkAreaAlread(myArea);
    }


    /**
     * addAreaInfo 【添加一条片区信息】
     * @param myArea 前台添加提交表单传输过来的“片区名”；
     * @return 将执行结果返回给前台Ajax。
     */
    @RequestMapping("area/addArea.do")
    @ResponseBody
    public HouseResult<Object> addAreaInfo(MyArea myArea){
        return myAreaService.addAreaInfo(myArea);
    }


    /**
     * findAreaByAid 【根据片区id查询一条数据（实现片区修改表单数据回显）】
     * @param myArea  接收前台点击修改片区传输的“片区Id”；
     * @return  将查询到的片区信息返回给前台Ajax显示到“修改片区弹窗”。
     */
    @RequestMapping("area/getAreaByAid.do")
    @ResponseBody
    public HouseResult<MyArea> findAreaByAid(MyArea myArea){
        return myAreaService.findAreaByAid(myArea);
    }


    /**
     * updateAreaInfo 【根据Id修改片区信息】
     * @param myArea “片区Id”和“片区原名称”；
     * @return 将执行结果返回给Ajax。
     */
    @RequestMapping("area/uppArea.do")
    @ResponseBody
    public HouseResult<Object> updateAreaById(MyArea myArea){
        return myAreaService.updateAreaById(myArea);
    }


    /**
     * deleteAreaById 【根据Id删除片区信息】
     * @param myArea 点删除片区对应的片区Id；
     * @return 将执行结果返回给Ajax。
     */
    @RequestMapping("area/delArea.do")
    @ResponseBody
    public HouseResult<Object> deleteAreaById(MyArea myArea){
        return myAreaService.deleteAreaById(myArea);
    }

}
